/*
 * NetworkProxy.h
 *
 *  Created on: Jun 4, 2010
 *      Author: sdaniele
 */

#ifndef NETWORKPROXY_H_
#define NETWORKPROXY_H_

#include "systemc.h"


namespace noti {

class NetworkNetwork;

class NetworkProxy {
private:
	NetworkNetwork* m_nns;

public:
	NetworkProxy(NetworkNetwork* nns);
	virtual ~NetworkProxy();

	NetworkProxy& clock(const sc_clock* clk);
	NetworkProxy& immediate(size_t n);
	NetworkProxy& delta(size_t n);
	NetworkProxy& timed(size_t n, const sc_time& t);
	NetworkProxy& cancel(size_t n);
	NetworkProxy& sensitive(size_t n);

	NetworkNetwork& up();
};

}

#endif /* NETWORKPROXY_H_ */
